package gwt.immunology.client.service;

import gwt.immunology.shared.GenericDto;
import gwt.immunology.shared.ResultSetDto;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface PatientsServiceAsync {
    void registerNewPatient(GenericDto patientData, AsyncCallback<GenericDto> callback);

    void deletePatient(Long patientId, AsyncCallback<Void> callback);

    void getPatientById(Long patientId, AsyncCallback<GenericDto> callback);

    void editPatientInfo(GenericDto patientData, AsyncCallback<Void> callback);

    void getAllPatients(AsyncCallback<ResultSetDto> callback);

    void findPatients(GenericDto searchCriteria, AsyncCallback<GenericDto> callback);
}
